home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 6: Level 6
/
17 Bit - Level 6 (1998)(Epic Marketing)[!].iso
/
quartz
/
q1052.dms
/
q1052.adf
/
MAGIC64
/
MagiC64.doc
< prev
next >
Wrap
Text File
|
1997-04-10
|
27KB
|
824 lines
I Introduction
1.1 What´s MagiC64 ?
1.2 A C64-Emulator in 1995 ?
1.3 System Requirements
II Quick Start
2.1 Fast Introduction
III The Emulator
3.1 Copyright and Registration
3.2 Save
3.3 Graphics
3.4 Cpu & Rom
3.5 Video
3.6 Sprites
3.7 Sound
3.8 Joysticks
3.9 Keyboard
3.10 Floppy
3.11 D64-Disks
3.12 T64-Tapes
3.13 P00-Files
3.14 Disk State
3.15 Start
3.16 Quit
IV Floppy Emulation
4.1
4.2 Supported Functions
4.3 Non supported Functions
V Frequently Asked Questions
5.1 How to speed up things ?
5.2 Programs which won´t work
5.3 No feedback of the emulator ?
VI Greetings and Thanks
I Introduction
1.1 What´s MagiC64 ?
MagiC64 is a C64 emulator for the Amiga, which tries to emulate
a real C64 in an exact manner. The emulator has the following
properties:
- Complete emulation of the 6510-CPU
(including illegal opcodes)
- Line-by-line VIC emulation
- All graphics modes
- Horizontal and vertical scrolling
- Complete sprite emulation
- Sprite-sprite collisions
- Sprite-background collisions
- Sound emulation with 6581sid.library
(only available in the registered version of MagiC64)
- ROM emulation, you can also use the original Roms
- Keyboard and joystick input
- Floppy 1541 emulation
- Fastload and fastsave for all programs
- Nearly all 1541 commands are supported
- Support for the following formats: D64, T64 and P00
- Conversion between all formats possible
- Bitplane optimized graphics functions, on fast
Amigas original C64 speed is possible.
- The emulator is programmed OS-friendly, it runs
in a fully multitasking environment
1.2 A C64-Emulator in 1995 ?
This emulator was written in a time, when -in my opinion- there
were no reasonable C64-Emulators for the Amiga. Prototype for
MagiC64 also were the C64-Emulators for the PC, which have
reached an impressive level today. As a consequence of that,
MagiC64 supports the most common PC formats, because nearly all
C64 programs are available in one of these formats. Another
goal during the development of MagiC64 was a good speed of the
emulation. That is why MagiC64 has very fast bitplane optimized
graphic functions. There is no conversion from chunky to planar,
which results in a dramatically improved graphics performance.
Now Amiga owners have once again the possibility of using all
the games and programs of a C64. Although these games and
programs do not convince anymore for today´s sound and graphic
standards, they often possess an amazing level of fun and
excitement.
Furthermore MagiC64 has the common features only emulators can
offer e.g. Fastload, Fastsave and the possibility of freezing
and continuing programs at any time.
1.3 System Requirements
A C64 emulation is, if it works line-orientated like MagiC64,
quite CPU intensive. MagiC64 needs at least a 68020 CPU, a
fast 68030 or 68040 is recommended. The graphic functions are
in need of some memory for lookup tables, there must be 1,7
MB of free memory available, a high Fastram access speed has
a positive effect. Using an A4000 or an Amiga with a 68030-
turboboard should guarantee full pleasure during the use of
MagiC64. On the software side one should have Kickstart 2.04
or higher, the special features of Kickstart 3.0 with regard
to screen double-buffering are used, too. Summarized:
- 68020 or higher
- 1,7 MB free memory
- Kickstart 2.04 or higher
Of course the emulator can also be used on Amigas without
AGA chipset.
II Quick Start
2.1 Fast Introduction
The emulator can be started from CLI or Workbench. In the
unregistered version there will be popped up a window, showing
the copyright and registration conditions. It can be closed by
clicking the OK button. After that you can see a window with
several selection buttons. You can reach the C64 mode by
clicking the START button, return to the emulator window by
pressing the ESC key. By doing this the actual state of the
emulation is frozen. To load and start a program the right
format must be chosen under the point DISK & TAPE. At the same
time D64 files, which are images of a 1541 disc, and T64 files,
which contain several C64 programs, are supported. Finally the
P00 files, which represent a single C64 program, are supported,
too. Is T64 or P00 chosen all files in the actual T64 or P00
directory are scanned and the C64 names of the programs appear
in a requester. Double clicking on the name of a program loads
and starts it, contemporary you return to the C64 mode. If you
see an empty requester you can determine the directory in which
the files reside by clicking on T64-DIRECTORY or P00-DIRECTORY.
The requester will be actualized automatically. If you want to
use D64 files, then you should first click LOAD D64. Select a
D64 file now. The directory of this disk file will appear in
the requester, again you can load and start a program by double
cklicking it. In the C64 mode you can cause a reset by pressing
F9, which is followed by a module check, so that module programs
are started again. If you press F10 a hard reset is done, which
always leads to the initial message of the emulator. Has a
program been started the joystick port can be changed after
clicking JOYSTICKS. If in your opinion the emulator is running
too slowly, you can type in a value greater than 1 under VIDEO
in the requester "DISPLAY EVERY (N)TH FRAME". On an A4000 you
should gain full speed for every program with a value of 3.
Changing this value also helps when music sounds strangely. The
most important keys:
- ESC Return to emulator window
- F9 Reset with module check
- F10 Reset without module check
III The Emulator
3.1 Copyright and Registration
There are two versions of MagiC64:
- The unregistered version, in which some options are disabled.
You can copy and distribute the unregistered version without
any restrictions. In this version you don´t have sound, you
can´t save anything, too.
- The registered version with all options enabled. Copying or
distributing this version is forbidden. Registered users get
the first update for free.
Copyright for both versions:
Michael Kramer
Im Hirschfeld 28
52222 Stolberg
Germany
E-Mail: michael_kramer@pop.ac-copy.com
You can register at the above address or by E-Mail. The
registration fee is $25 US or 40 DM, payable cash or as
euro cheque. If you send the money or the euro cheque,
I´ll send you the registered full version.
Please note: For sound you will need the 6581sid.library too,
which is NOT part of MagiC64. This library is
part of A64. A demo version of A64, which contains
this library, is available on AMINET.
3.2 Save
Save all settings and paths in the MagiC64.prefs file. This
option is only available in the registered version.
3.3 Graphics
- Show Video
If you turn off this option, only a window will pop up when
clicking the START button. The emulation is running in
background mode now. Use this, if you run programs which
have no or only some visual output. Emulation speed is very
fast in this mode.
- Screen Mode
By clicking on "SELECT ..." a standard screenmode requester
will appear where you can select the screen mode for the
C64 mode. The emulation is running in 320x200, so you should
select a mode like PAL or DBLPAL. In other modes e.g. EURO72
you have a higher frequency, but only a quarter of the screen
is used. You need Kickstart 2.1 for changing the screen mode,
as standard mode you have PAL or DBLPAL.
- Screen Type
In this cycle gadget you can choose between Amiga-View and
Amiga-Screen. Because screen doublebuffering is supported
first in Kickstart 3.0 with special operating system functions,
you should use Amiga-View in lower Kickstart versions for
optimum performance. Using Amiga-View you can´t use Amiga M
for screen flipping. The multitasking is not impaired in
other terms.
3.4 Cpu & Rom
- Warning at crash opcode
When the emulation executes a crash opcode e.g. $02, normally
the C64 mode is left and a warning is given. A real C64 could
only be restarted by Reset. As a consequence the warning
requester gives the possibility of a Reset or a continuation
of the emulation. Pressing the F10 key is the only action
making sense in this case, when back in C64 mode.
- Warning at break opcode
The execution of the opcode $00 (BRK) is normally no action
of a C64 program making any sense. You should switch off these
warnings if you want to use monitor programs in the C64 mode.
- Skip Ramtest
Normally the RAM of the C64 is checked during a C64 reset.
This test is switched off by a ROM patch, which speeds up the
Reset remarkably.
- ROM emulation / Original ROM
Because of copyright reasons the original roms are not included,
instead a ROM emulation is used. Who wants can also use
the original roms. They must reside in the Roms directory, named
BASIC.ROM, CHAR.ROM and KERNAL.ROM.
3.5 Video
- Display every (n)th frame
With this value you determine which frames of the emulation
are really calculated and displayed on screen. The higher this
value is the faster C64 programs will run because fewer
processing time for the graphics is required. On values
greater than 1 it may possibly happen that sprite collisions
are later recognized. This is no severe effect for most
programs. Recommendable values are in range 1 to 5. Also raise
this value if music and sound effects are to slow. In this
case the emulation can´t deliver the sound data for the
sound library fast enough.
- Rasterline Cycles
This is a value for the VIC emulation determining how many
cycles one rasterline will consume. You may change this value
slightly (!) when raster interrupts cause flickering on
screen. Recommendable values are in the range 60 to 66.
- Badline Cycles
This determines the number of cycles a badline is consuming.
Badlines are rasterlines in which the CPU has fewer cycles
available because these cycles are required by the VIC.
Change only slightly. Recommendable values are in the range
20 to 24.
- Start Cycle
Determines the cycle in which the VIC will begin to fetch
char data. For vertical scrolling it is important whether
the scroll register is written before or after this cycle.
Change this value when vertical scrolling doesn´t work
properly. Recommendable values are in the range 10 to 14.
- PAL / NTSC
Determines how many lines the emulation is internally using.
A few games only work in one of the two modes. If you use
NTSC the emulation will run somewhat faster because fewer
lines have to be calculated. On the other side the C64 CPU
has fewer cycles per frame available.
3.6 Sprites
- Display Sprites
Turn on sprites. Turning off sprites speeds up the graphics,
but makes no sense for most games.
- Sprite-Sprite Collisions
Turn on sprite-sprite collisions. If you turn off this option,
graphics may speed up a little bit. Many games use their own
collision detection instead of the hardware detection, so
turning off this collisions can make sense.
- Sprite-Background Collisions
Turn on sprite-background collisions. Only few games use
hardware sprite-background collision detection, so turning
off these collisions may be helpful. Graphics performance
is improved in this case.
The above options act for all sprites together. In the single
settings options you can do the above settings for single
sprites. You can construct trainer versions of games by turning
off the collisions for the sprite the player is driving. This
only works if games use hardware collision detection.
3.7 Sound
Sound is only available in the registered version of MagiC64.
For sound the 6581sid.library is required. This library is
NOT part of MagiC64. A demo version of A64, another C64 emu-
lator for the Amiga, contains this library. A64 is available
in the Aminet, too.
- Sound on
Turn on music and sound effects. Turning off maybe useful
in games with bad music.
- Channels
Turn on the three channels individually.
- Loudness
With this slider gadget you can regulate the maximum
loudness for all three channels.
3.8 Joysticks
Amiga and C64 both have two digital joystick ports. Because
the Amiga uses port 0 for the mouse, you can direct the input of
port 1 to the virtual ports 0 and 1 of the C64. It´s possible to
direct one Amiga port to two C64 ports at the same time. If you
choose these settings every game should work, independent of
which port is used. There can be some strange effects if a game
uses the C64 port 0 and the keyboard at the same time because at
the C64 port 1 is connected parallel to the keyboard. Of course
for games with a two-player mode the Amiga port 2 can also be
used, but then the mouse must be taken off.
3.9 Keyboard
- Original / National
While the original mode is running there is the try to copy
a C64 keyboard physically in a nearly exact way. In this mode
are e.g. in German Y and Z exchanged, the #-key is covered
with = ect. This mode makes sense for games, which depend
upon a certain location of the keys on the keyboard. On the
contrary in the national mode every key is treated corresponding
to the national location of the keys and the key is translated
into the adequate C64 key press. If you type very fast there can
appear the problem of the keyboard being blocked while the
national mode is used. This blockade can be abolished by using
the left Amiga key.
In both modes some keys have a special meaning:
- ESC. The emulation is frozen and returns from C64 mode to
the main window of the emulator. There you can change some
settings, after that press START to continue in C64 mode.
- F9. Reset of C64 emulation. A module check for a module at
$8000 is done. If there is a module, the module program
will be started, otherwise the initial C64 message will
appear on the screen.
- F10 Hard reset of the C64 emulation. There is no module check,
the emulation always returns to power-up message.
- Enter stops the emulation without leaving the C64 mode. After
pressing the enter key for a second time the emulation is
continued. This key is useful if you want to look carefully
at a situation during a game. It is also possible to save the
actual status of the screen with a screengrabber program.
- Ctrl corresponds to the RUN/STOP key of the C64.
- Help corresponds to the RESTORE key of the C64.
- Tab corresponds to the Ctrl key of the C64.
- Del corresponds to the CLR/HOME key of the C64.
- The left Alt key corresponds to the Commodore key of the C64.
- The right Alt key corresponds to the @ of the C64.
- The right Amiga key corresponds to the ´ of the C64.
- The left Amiga key starts a keyboard reset in the national
mode. Press this key when the keyboard is blocked in national
mode.
- All four Cursor keys of the Amiga cause the equivalent C64
function.
3.10 Floppy
Under this point adjustments are put on, which concern the
emulation of a 1541 floppy. The 1541 emulation always works on
D64 files. More about D64 files in chapter D64 disks.
- Floppy on
Here the 1541 emulation can be switched off; subsequently
the C64 emulation assumes that there is no floppy. If you
enter e.g. LOAD"$",8 the computer will announce DEVICE NOT
PRESENT. Switching off the floppy can be senseful when P00
or T64 files, which always have only one part, try to load
some data again e.g. highscore lists.
- Writeprotection
Effects a writeprotection for the actual D64 file. Then this D64
file will not be changed in the memory. This option will be
useful if you want to prevent that files are written or changed.
- Warning at non-supported commands
A real 1541 normally represents an independent computer
including a processor, Ram and an operating system. Never-
theless the 1541 emulation only emulates a 1541 on the
commanding level. Therefore some commands, e.g. M-E
(Memory-Execute), which execute some own programs in the
Ram of a 1541, are not supported. Unfortunately because
of that some programs, which use fastloader or execute
other complex actions (copy protection) in the floppy,
do not function. If you try to execute such commands, the
C64 mode is left and a warning is given. With this switch
you can turn off these warnings.
- Write on protected Disk
A warning is given, if you try to write on a writeprotected
D64 disc. Turn off these warnings here.
3.11 D64 Disks
D64 Diskfiles are files which represent one side of a 1541
disk. This format was introduced with C64S, a C64 emulator
for the PC. In the mean time it developed to one of the
standard formats for C64 emulators. You can get nearly all
C64 programs as a D64 file. MagiC64 loads the whole D64 file
into memory, the 1541 emulation is doing all commands in
memory, too. If you want to become write operations permanent,
you have to save the D64 file explicitly. This Save option
is only available in the registered version of MagiC64.
- Selection Requester
Here you will see the directory of a D64 file which was
loaded into memory with "LOAD D64". The first line in
the requester shows the name of the disk, followed by its
ID and format sign. Clicking the first line makes no sense.
The following lines show the single programs contained in
the D64 file. The number on the left side of the name gives
you the size of the program in blocks of 256 bytes. On the
right side the type of the program is given. Doubleclicking
one of these lines will lead to a reset in the background,
next the C64 mode is entered and the program will be loaded
and started. The last line of the requester gives information
about the free blocks of the D64 file.
- Load
Loads a program from a D64 file into the memory. There is
NO reset into the background and there is no automatic
return to the C64 mode. Loading is very fast, even very
big files (bigger than 200 blocks) will be loaded in few
seconds. All data is loaded in the C64 memory, the I/O
range is not touched during loading. Because of that it´s
possible to load programs bigger than 202 blocks, on a
real C64 you can´t do this without special loading
functions.
- Load+Run
Same action like doubleclicking a program name in the
selection requester. Contrary to "LOAD" a reset in the
background is forced and there is automatic return to
the C64 mode.
- Load D64
After clicking this button you can select a D64 file
in a standard requester. The directory of this D64 file
will appear in the selection requester. This is the
same action like inserting a disk in a 1541, so use
this if a C64 program asks you to change the disk.
- Save D64
A D64 file is saved. Click this button if you wish to
make changes to a D64 file permanently, because the
1541 emulation will only work in memory. "SAVE D64"
is only available in the registered version of MagiC64.
- Save
A C64 program is written to the actual D64 file in
memory. The file is only changed in memory. To make
the changes permanently you have to click "SAVE D64",
too. Saving has the same properties like loading:
High speed and it´s possible to save programs bigger
than 202 blocks.
- Format
Formats a D64 file in memory. After klicking this button
you have to enter the disk name and the disk ID. This is
equivalent to the NEW command of the 1541. If you want to
create an empty disk, load a D64 file with "LOAD D64",
click "FORMAT" and save the file with "SAVE D64" under a
DIFFERENT name.
- Delete
After queryback a program in a D64 file is deleted in
memory. This is equivalent to the SCRATCH command of the
1541.
- Rename
After queryback a program in a D64 file is renamed in
memory. This is equivalent to the RENAME command of the
1541.
- Initialize
After queryback a D64 file is initialized in memory. The
BAM of the disk is read into memory, so it´s possible
to distinct disks with the same ID. This is equivalent
to the INITIALIZE command of the 1541.
- Validate
After queryback a D64 file is validated in memory. All
files still open are closed, the BAM is actualized.
This is equivalent to the VALIDATE command of the 1541.
3.12 T64 Tapes
The T64 format was introduced with C64S, too. There can
be more than one program in a T64 file.
- Selection Requester
The contents of ALL T64 files are displayed. Double-
cklicking selects the related T64 file, then the selected
program is loaded in memory and started.
- Load
Loads a selected program from a T64 file into the C64
memory. NO reset in the background is done and there is
no automatic return to C64 mode.
- Load+Run
Same as doubleclicking a name in the selection requester:
Reset in the background, return to C64 mode, loading
and starting of the program.
- Save
After queryback a program is saved from C64 memory into
a T64 file. The name you enter will appear in the selection
requester. The range given in memory locations $2B/$2C and
$2D/$2E is saved. It´s possible to save programs with an end
address bigger than $CFFF. The T64 file written is new,
existing files are overwritten. "SAVE" is only available in
the registered version of MagiC64.
- T64 Directory
A standard requester will appear where you can select the
new T64 directory. If you click "OK" all files in this
directory are scanned. This can take a while when the
directory contains many files. The contents of the T64 files
will appear in the selection requester.
3.13 P00 Files
The P00 format was introduced with the C64 emulator PC64.
Every P00 file represents a single C64 program.
- Selection Requester
The contents of ALL P00 files are displayed. Double-
cklicking selects the related P00 file, then the selected
program is loaded in memory and started.
- Load
Loads a selected program from a P00 file into the C64
memory. NO reset in the background is done and there is
no automatic return to C64 mode.
- Load+Run
Same as doubleclicking a name in the selection requester:
Reset in the background, return to C64 mode, loading
and starting of the program.
- Save
After queryback a program is saved from C64 memory into
a P00 file. The name you enter will appear in the selection
requester. The range given in memory locations $2B/$2C and
$2D/$2E is saved. It´s possible to save programs with an end
address bigger than $CFFF. The P00 file written is new,
existing files are overwritten. "SAVE" is only available in
the registered version of MagiC64.
- P00 Directory
A standard requester will appear where you can select the
new P00 directory. If you click "OK" all files in this
directory are scanned. This can take a while when the
directory contains many files. The contents of the P00 files
will appear in the selection requester.
3.14 Disk State
The actual state of the 1541 emulation is displayed. The
message contains number, text, track and sector.
- Read State
Read the state and reset back to OK state.
3.15 Start
Guess what ? The emulation is started or continued at the
point it was frozen.
3.16 Quit
Simply quit the emulation.
IV Floppy Emulation
4.1
The 1541 floppy is emulated on file and buffer level. The 6502
CPU and the special hardware is NOT emulated. The only file
type supported at the moment is PRG, sequential or random access
files are not supported, but will be displayed in the directory.
4.2 Supported Functions
- LOAD and SAVE of programs. The wildcards * and ? are possible.
Saving to a D64 file is also possible in the unregistered
version of MagiC64, but you can´t the save D64 file itself.
Overwriting a file with a @ at the beginning of the name
works always correct unlike to a real 1541.
- Directory
All file types, protected (<) and not closed (*) files are
displayed. Wildcard and filetype selection while loading
a directory is possible.
- Direct Access
It´s possible to reserve buffers in the floppy with #, some
floppy commands will utilize these buffers.
- Error Channel
All error and state messages are supported.
- Floppy Commands
Scratch, Rename, Initialize, New and Validate are supported.
The Copy command can´t append data to existing files, it´s
only possible to duplicate files with this command. Block-
Read, Block-Write, Block-Allocate and Block-Free are possible,
the equivalent User commands are supported, too. The buffer
pointer can be set with the Buffer-Pointer command. Memory
commands will work in the buffer range.
4.3 Not Supported Functions
All commands which execute their own code in the 1541 wont work,
e.g. Block-Execute, Memory-Execute, the User commands 3 to 8,
and the & command. So programs using their own fast loaders
will run erroneous.
V Frequently Asked Questions
5.1 How to speed up things ?
The most important tuning facility is raising the value of
"Display every (n)th frame" in the "Video" menue. If you switch
from PAL to NTSC, internally only 256 instead of 312 lines
are calculated, so the emulation will speed up. Many programs
using sprites don´t use hardware detection for sprite-sprite
or sprite-background collisions, so just turn them off in the
"Sprites" menue !
5.2 Programs that don´t run with MagiC64
All programs using their own fast loaders wont run with
MagiC64. Border sprites will not be displayed, the sound
emulation has problems with complex sound effects. In-Line
graphics effects are not displayed correctly.
5.3 No feedback of the emulator ?
Maybe you have pressed ENTER. Just press ENTER again and there
you go. In national keyboard mode the keyboard sometimes is
blocked, in this case press the left Amiga key. Some games
require the joystick in the other port, you can change the
joystick port in the "JOYSTICK" menue. In any case it should
be possible to leave the C64 mode by pressing ESC, if not
this would be an error in the emulator.
VI Greetings and Thanks
Thanks to:
Jochen Wiedmann for Flexcat.
Helmut Neumann for Beta-Testing.
My sister Katja for help with the translation of the docs.
My brother Markus who supported this product at any time :-)
Greetings to:
Amiga Technologies for re-releasing the AMIGA and offering
this hightec product at unbelievable low prices. Sure
everybody wants to spend $3000 for emulating a C64 =:-(